Предыдущий раздел ЗАДАНИЯ ДЛЯ ПРОГРАММИРОВАНИЯ Следующая глава

Данные задания могут использоваться при самостоятельном изучении языка ассемблера. Кроме того, они могут использоваться преподавателем в качестве тем контрольных заданий для индивидуального программирования. Для того, чтобы получить индивидуальное задание, нужно обратиться к преподавателю.

Первые 20 заданий предназначены для закрепления знаний по начальным разделам второй части пособия (разделы 9 – 11). Остальные 20 заданий позволяют закрепить знания по остальным разделам второй части.

Задание 1. По запросу программы пользователь вводит  с клавиатуры последовательность целых трехзначных положительных десятичных чисел, разделенных пробелами. Ввод последовательности заканчивается нажатием <Enter>. Программа выводит на экран сумму этих чисел, представленную в десятичной и шестнадцатеричной системах счисления.

Задание 2. По запросу программы пользователь вводит с клавиатуры целое положительное десятичное число N. По следующему запросу он вводит с клавиатуры N целых трехзначных положительных десятичных чисел, разделенных пробелами. Программа выводит на экран сумму этих чисел, представленную в десятичной и двоичной системах счисления.

Задание 3. По запросу программы пользователь вводит с клавиатуры последовательность целых трехзначных положительных десятичных чисел, разделенных пробелами. Ввод последовательности заканчивается нажатием <Enter>. Программа выводит наибольшее число из введенных, представленное в десятичной и двоичной системах счисления.

Задание 4. По запросу программы пользователь вводит с клавиатуры целое положительное десятичное число N. По следующему запросу он вводит с клавиатуры N целых трехзначных положительных десятичных чисел, разделенных пробелами. Программа выводит наибольшее число из введенных, представленное в десятичной и шестнадцатеричной системах счисления.

Задание 5. По запросу программы пользователь вводит  с клавиатуры последовательность целых трехзначных положительных десятичных чисел, разделенных пробелами. Ввод последовательности заканчивается нажатием <Enter>. Программа выводит наименьшее число из введенных, представленное в десятичной и шестнадцатеричной системах счисления.

Задание 6. По запросу программы пользователь вводит с клавиатуры целое положительное десятичное число N. По следующему запросу он вводит с клавиатуры N целых трехзначных положительных десятичных чисел, разделенных пробелами. Программа выводит наименьшее число из введенных, представленное в десятичной и двоичной системах счисления.

Задание 7. По запросу программы пользователь вводит  с клавиатуры последовательность целых трехзначных положительных десятичных чисел, разделенных пробелами. Ввод последовательности заканчивается нажатием <Enter>. Программа выводит последовательность этих же чисел, но записанных в обратном порядке и в шестнадцатеричной системе счисления.

Задание 8. По запросу программы пользователь вводит с клавиатуры целое положительное десятичное число N. По следующему запросу он вводит с клавиатуры N целых трехзначных положительных десятичных чисел, разделенных пробелами. Программа выводит последовательность этих же чисел, но записанных в обратном порядке и в двоичной системе счисления.

Задание 9. По запросу программы пользователь вводит с клавиатуры последовательность целых трехзначных положительных десятичных чисел, разделенных пробелами. Ввод последовательности заканчивается нажатием <Enter>. Программа выводит эти же числа на экран в порядке возрастания величины числа, причем в шестнадцатеричной системе счисления.

Задание 10. По запросу программы пользователь вводит с клавиатуры целое положительное десятичное число N. По следующему запросу он вводит с клавиатуры N целых трехзначных положительных десятичных чисел, разделенных пробелами. Программа выводит эти же числа на экран в порядке возрастания величины числа, причем в двоичной системе счисления.

Задание 11.  По запросу программы пользователь вводит с клавиатуры последовательность целых трехзначных положительных десятичных чисел, разделенных пробелами. Ввод последовательности заканчивается нажатием <Enter>. Программа выводит эти же числа на экран в порядке убывания величины числа, причем в двоичной системе счисления.

Задание 12. По запросу программы пользователь вводит с клавиатуры целое положительное десятичное число N. По следующему запросу он вводит с клавиатуры N целых трехзначных положительных десятичных чисел, разделенных пробелами. Программа выводит эти же числа на экран в порядке убывания величины числа, причем в шестнадцатеричной системе счисления.

Задание 13. По запросу программы пользователь вводит с клавиатуры сообщение на русском языке, заканчивающееся символом  “.” или “!”. Программа выводит на экран это же сообщение, записанное только заглавными буквами.

Задание 14. По запросу программы пользователь вводит с клавиатуры сообщение на русском языке, заканчивающееся символом  “.” или “?”. Программа выводит на экран это же сообщение, записанное только строчными (малыми) буквами.

Задание 15. По запросу программы пользователь вводит с клавиатуры сообщение на английском языке, заканчивающееся символом  “.” или “?”. Программа выводит на экран это же сообщение, записанное только заглавными  буквами.

Задание 16. По запросу программы пользователь вводит с клавиатуры сообщение на английском языке, заканчивающееся символом  “.” или “!”. Программа выводит на экран это же сообщение, записанное только строчными (малыми)  буквами.

Задание 17. По запросу программы пользователь вводит с клавиатуры два целых четырехзначных положительных десятичных числа, разделенных знаком операции “+” или “-“. Программа выводит на экран результат операции в двух системах счисления – в десятичной  и  в двоичной (в дополнительном коде).

Задание 18. По запросу программы пользователь вводит с клавиатуры два целых четырехзначных положительных десятичных числа, разделенных знаком операции “ * ”. Программа выводит на экран результат операции умножения .

Задание 19. По запросу программы пользователь вводит с клавиатуры два целых четырехзначных положительных десятичных числа, разделенных знаком операции “ / ”. Программа выводит на экран результат операции деления (частное и остаток).

Задание 20. По запросу программы пользователь вводит с клавиатуры два целых трехзначных положительных десятичных числа. Программа выводит на экран сообщение о том, делится ли первое число на второе без остатка, а затем сообщение – делится ли без остатка второе число на первое.

Задание 21. Резидентная программа инициируется нажатием клавиши <F1> и выводит на экран ваши имя и фамилию, записанные английскими буквами. При нажатии клавиши <F2> программа уничтожается.

Задание 22. Резидентная программа инициируется нажатием клавиши <F2> и выводит на экран ваши имя и фамилию, записанные русскими буквами. При нажатии клавиши <F1> программа уничтожается.

Задание 23.   Разработать простейший отладчик программ, который получает имя загрузочного модуля прикладной программы в качестве своего параметра, и выполняет эту программу покомандно, выдавая после завершения каждой ее команды на экран содержимое регистров AX и BX в шестнадцатеричной системе счисления. (Некоторый аналог команды T Debug.)

Примечание. Работа программы основана на запуске трассируемой программы и обработке исключения «Трассировка».

Задание 24.   Разработать простейший отладчик программ, который вводит с клавиатуры имя загрузочного модуля прикладной программы, и выполняет эту программу покомандно, выдавая после завершения каждой ее команды на экран содержимое регистров CX и DX в двоичной системе счисления. (Некоторый аналог команды T Debug.)

Примечание. Работа программы основана на запуске трассируемой программы и обработке исключения «Трассировка».

Задание 25.   Разработать простейший интерпретатор команд, выполняющий обработку командных файлов (bat-файлов). Имя командного файла вводится с клавиатуры. Имя запускаемой программы (строка bat-файла) не имеет параметров. После завершения запуска очередной программы на экран выводится сообщение об успешности запуска.

Задание 26.   Разработать простейший интерпретатор команд, выполняющий обработку командных файлов (bat-файлов). Имя командного файла интерпретатор команд получает при своем запуске (в качестве параметра команды). Имя запускаемой программы (строка bat-файла) не имеет параметров. После завершения запуска очередной программы на экран выводится сообщение об успешности запуска.

Задание 27. Прикладная программа выполняет запуск другой (дочерней) прикладной программы, получив предварительно ее имя с клавиатуры. При своем запуске дочерняя программа получает на входе (в PSP) строку символов, которую она выводит на экран.

Задание 28. Прикладная программа выполняет запуск другой (дочерней) прикладной программы, получив ее имя в качестве своего параметра (хвоста команды). При своем запуске дочерняя программа получает на входе (в PSP) строку символов, которую она выводит на экран.

Задание 29. Прикладная программа выводит на экран содержимое своего блока окружения.

Задание 30. Прикладная программа выполняет уничтожение файла. Имя уничтожаемого файла вводится с клавиатуры.

Задание 31. Прикладная программа вводит с клавиатуры имя нового текстового файла, записывает в него содержимое своего блока окружения, а также «хвоста», а затем выводит содержимое этого файла на экран.

Задание 32. Прикладная программа вводит с клавиатуры имя существующего текстового файла, «дописывает» в него содержимое своего блока окружения, а также «хвоста», а затем выводит содержимое этого файла на экран.

Задание 33. Резидентная программа инициируется из прикладной программы, выполняя вывод на экран блока окружения и «хвоста» прикладной программы.

Примечание. Для того чтобы обрабатывать данные вызывающей программы, содержимое регистров сегментов данных должно соответствовать прикладной, а не резидентной программе.

Задание 34. Прикладная программа вводит с клавиатуры имена двух существующих текстовых файлов, а затем инициирует резидентную программу (передав ей на вход через PSP имена файлов), которая «расширяет» первый файл, добавив в него содержимое второго файла.

Задание 35. Прикладная программа вводит с клавиатуры имя существующего текстового файла, а затем выводит его содержимое на экран.

Задание 36. Прикладная программа получает в качестве параметра команды имя существующего текстового файла, а затем выводит его содержимое на экран.

Задание 37. Прикладная программа вводит с клавиатуры имя текстового файла, содержащего имена других текстовых файлов. А затем выводит на экран содержимое этих текстовых файлов.

Задание 38. Прикладная программа получает в качестве параметра команды имя текстового файла, содержащего имена других текстовых файлов. А затем выводит на экран содержимое этих текстовых файлов.

Задание 39. Прикладная программа выполняет копирование файла. Имя исходного файла программа получает в качестве параметра команды, а имя файла-копии вводятся с клавиатуры.

Задание 40. Прикладная программа выполняет копирование файла. Имя исходного файла вводится с клавиатуры, а имя файла-копии программа получает в качестве параметра команды.

 


Предыдущий раздел В начало Следующая глава